
import Modal from './Modal';
import JsBridge from '../service/JsBridge';

class SelectUnit {
    constructor() {
      this.$input_data = null;
      this.onOk = null;

      this.show = this.show.bind(this);        //将show的事件绑定到父级元素，从而获取里面的数据（跳出函数限制）
      this.bindOk = this.bindOk.bind(this);
    }

    bindOk(fn) {
      this.onOk = fn;
    }

    show() {
		const _this = this;
        const tpl = `<div class="asdf" style="display: block;">
			<div class="search_org">
				<span>直接搜索</span><input type="text" id="sea" placeholder="搜索单位名称" />
				<ul class="search_list">

				</ul>
			</div>
			<dl class='histry'>
                <dt>历史记录</dt>
            </dl>
            <dl class="hot">
                <dt>热门区县</dt>
                
            </dl>
            <ul class="choose_list"></ul>
            <dl class="region">
                <dt>所在区域</dt>
                <dd>
                <select id="cmbProvince1" name="cmbProvince1"></select>
                <select id="cmbCity1" name="cmbCity1"></select>
                <select id="cmbArea1" name="cmbArea1"></select>
                </dd>
            </dl>
        </div>`;

        Modal.show("选择单位", tpl, {

            onReady: function($c) {
			const m_this = this;

	         //地区区域赋值
      		$.ajax(API.RbaseUrl+'/EduPlate/MobileManageCenter/InterfaceJson.asmx/Area_GetXD3', {          //35
      					dataType:"jsonp",
      					data: {
      						App_ID: 1,
      						jsonpCallback:'success_jsonpCallback1'
      					},
      					success: function(json){
      						console.log(json)
      						console.log("地区信息")
      						var address = function(json){
      							var addressInit = function(_cmbProvince, _cmbCity, _cmbArea, _cmbStreet, defaultProvince, defaultCity, defaultArea,defaultStreet)
      							{
      								var modal=document.getElementsByClassName("modal")[0];
      					   			 var cmbProvince = document.getElementById(_cmbProvince);
      					    		var cmbCity = document.getElementById(_cmbCity);
      					    		var cmbArea = document.getElementById(_cmbArea);
      					    		var cmbStreet = document.getElementById(_cmbStreet);

      					    		console.log(cmbProvince);

      					    		function cmbSelect(cmb,val)
      					    		{
      					        		for(var i=0; i<cmb.options.length; i++)
      					       			 {
      					           			 if(cmb.options[i].var == val)
      					           			 {
      					             			   cmb.selectedIndex = i;
      					               			 return;
      					          			  }
      					       			 }
      					  			  }
      					  			function cmbAddOption(cmb, str, val,obj)
      					    		{
      					       			 var option = document.createElement("OPTION");
      					       			 cmb.options.add(option);
      					        		 option.innerText = str;
      					        		 option.value = val;
      					       			 option.obj = obj;
      					   			 }

      					  		    function changeCity()
      					    		{
      					        		cmbArea.options.length = 0;
      					        		if(cmbCity.selectedIndex == -1)return;
      					        		var item =1
      					        		var item= cmbCity.options[cmbCity.selectedIndex].obj;
      					        		if(!item){   //判断是否为一个数据
      					        			item= cmbCity.options[cmbCity.selectedIndex];   //没有子项就赋值本身
      					        			cmbAddOption(cmbArea, item.text,item.value, item.children);
      					        		}else{
      					        			if(!item.length){
      					        				cmbAddOption(cmbArea, item.text,item.value, null);   //只有一个子项
      					        			}else{
	      					        			console.log(item.length)
		      					        		for(var i=0; i<item.length; i++)
		      					        		{
		      					            		cmbAddOption(cmbArea, item[i].text,item[i].value, null);
		      					        		}
	      					        		}
      					        		}
      					        		cmbSelect(cmbArea, defaultArea);
      					        			$(".modal #cmbArea1 ").append("<option selected='selected'>请选择</option>");
      					    		}
      					    		function changeProvince()
      					    		{
      					        		cmbCity.options.length = 0;
      					        		cmbCity.onchange = null;
      					        		if(cmbProvince.selectedIndex == -1)return;
      					        		var item=1;

      					        		item= cmbProvince.options[cmbProvince.selectedIndex].obj;

      					        		if(!item.length){        ///判断是否为一个数据
      					        			cmbAddOption(cmbCity, item.text,item.value, item.children);}else{
	      					        		for(var i=0; i<item.length; i++)
	      					        		{
	      					            	cmbAddOption(cmbCity, item[i].text,item[i].value, item[i].children);
	      					        		}
      					        		}
      					        		cmbSelect(cmbCity, defaultCity);
      					        		changeCity();
      					        		cmbCity.onchange = changeCity;

      					    		}

      					    		for(var i=0; i<json.length; i++)
      					    		{
      					        		cmbAddOption(cmbProvince, json[i].text, json[i].value,json[i].children);
      					    		}
      					    		cmbSelect(cmbProvince, defaultProvince);
      					    		changeProvince();
      					    		cmbProvince.onchange = changeProvince;
      							}
      							addressInit('cmbProvince1', 'cmbCity1', 'cmbArea1')
      						};
      						address(json);


      			//点击地区区域

				    		$(".modal #cmbArea1 ").change(function(){
				  				choose_id($(this).val());
				    			console.log($(this).val())

				    		});
      					},
      					jsonpCallback: 'success_jsonpCallback1'

      				});



             //热门区域赋值
             $.ajax(API.RbaseUrl+'/EduPlate/MobileManageCenter/InterfaceJson.asmx/Area_GetListHot',{   //25
    						dataType:"json",
    						data: {
    							App_ID:1
    						},
    						success:function(json){
    						
    							console.log(json.Goodo.R.length)
    							var sum=json.Goodo.R.length;
    							if(sum>=6){sum=6;}
     							console.log(json.Goodo.R[0].AreaName)
     							for(var i=0;i<sum;i++){
    								if(i==3||i==0){$(".modal .hot").append("<dd class='fist_hot'></dd>");}
    								else{$(".modal .hot").append("<dd></dd>");}
    								
    								$(".modal .hot dd").eq(i).text(json.Goodo.R[i].AreaName);
    								$(".modal .hot dd").eq(i).val(json.Goodo.R[i].Area_ID);
   								};
   								  $(".modal .hot dd").click(function(){
						             console.log($(this).val());
						             choose_id($(this).val());
						           })
    						},
    				});


    		//历史记录赋值
          JsBridge.sendRequest("custom.get", {key: 'yxtLog'}).then(jsrep => {
            let cookie_log = jsrep.data.value;
            let logs = [];
            if (cookie_log) {
                logs =  JSON.parse(cookie_log).logs;
            }
           
            var a=logs.length;
            var r=0;
           var s=1;
            if(a>0){
//		             $(".modal").eq(0).find(".histry").css("display","block")
//		             for(var i=0, r=a-1;i<3&&r>=0;i++,r--){
//		                        const {UnitName, Unit_ID, UnitUrl} = logs[r];
//		                        $(".modal").eq(0).find(".histry").append("<dd><a href='###'>" + logs[r].UnitName +"</a></dd>");
//		                 $(".modal").eq(0).find(".histry").find("dd").eq(i).find("a").text(logs[r].UnitName);
//		                 $(".modal").eq(0).find(".histry").find("dd").eq(i).find("a").attr("value", JSON.stringify({Unit_ID, UnitUrl, UnitName}));
//		             }
					$(".modal").eq(0).find(".histry").css("display","block")
					console.log(logs)
					const {UnitName, Unit_ID, UnitUrl,UnitUrl2} = logs[0];
		                $(".modal").eq(0).find(".histry").append("<dd><a href='###'>" + logs[0].UnitName +"</a></dd>");
		    			$(".modal").eq(0).find(".histry").find("dd").eq(0).find("a").text(logs[0].UnitName);
		    			$(".modal").eq(0).find(".histry").find("dd").eq(0).find("a").attr("value", JSON.stringify({Unit_ID, UnitUrl, UnitName,UnitUrl2}));
	//	    			if(r==0){r=a;};
	
					for(r=1;r<a;r++){ var x=-1;//遍历历史
						for(var i=0;i<r;i++){
							if(logs[r].UnitName==logs[i].UnitName&&r!=i){x=i;break;}
						}
					    if(x==-1&&s<3){
		 	                const {UnitName, Unit_ID, UnitUrl,UnitUrl2} = logs[r];
		 	                if(logs[r].UnitUrl2){
		 	                $(".modal").eq(0).find(".histry").append("<dd><a href='###'>" + logs[r].UnitName +"</a></dd>");
		 	    			$(".modal").eq(0).find(".histry").find("dd").eq(s).find("a").text(logs[r].UnitName);
		 	    			$(".modal").eq(0).find(".histry").find("dd").eq(s).find("a").attr("value", JSON.stringify({Unit_ID, UnitUrl,UnitUrl2, UnitName}));
		 	    			s++;
		 	    			}
						}
					}

					$(".modal").eq(0).find(".histry").find("dd").find("a").click(function(){
		                           console.log($(this));
		                           console.log($(this).val());
		                           console.log(_this);
		                        
		                           _this.onOk(JSON.parse($(this).attr("value")));
		
		                           m_this.hide(); //退出弹框
		              })
		           
            }else{
                  $(".modal").eq(0).find(".histry").css("display","none");
            }
			
			
	 });
			  
			
		
			
            //	搜索信息
            var $sea_result=0;
            $('#sea').keyup(function(){
             console.log($("#sea").val())
             console.log("搜索信息")
             $sea_result=$("#sea").val();
             if($sea_result!=''){
               $(".modal").eq(0).find(".search_list").css("display","block")
               $(".modal").eq(0).find(".search_list").empty(); //ul清空li
               $.ajax(API.RbaseUrl+'/EduPlate/MobileManageCenter/InterfaceJson.asmx/Unit_GetList3',{       //
               dataType:"jsonp",
               data: {
                 App_ID:1,
                 jsonpCallback:'A',
                 Keyword:$sea_result
               },
               success:function(json){
                 console.log(json)

                 console.log(json.Goodo.R.length)
                 console.log(json.Goodo.R[0].UnitName)
                 console.log($(".modal").eq(0).find(".search_list").find("li").eq(0).text());
                  const data = json.Goodo.R;
                 for(var i=0;i<data.length;i++){
                    const {UnitName, Unit_ID, UnitUrl,UnitUrl2} = data[i];
                           $(".modal").eq(0).find(".search_list").append("<li>" + UnitName +"</li>"); //获取到ul并在其后面添加li

                   $(".modal").eq(0).find(".search_list").find("li").eq(i).text(UnitName);
                   $(".modal").eq(0).find(".search_list").find("li").eq(i).attr("value",JSON.stringify({Unit_ID, UnitUrl, UnitName,UnitUrl2}));

                 }

                  // $("label").eq(0).text(json.Goodo.R[0].AreaName)
                  // $("label").eq(1).text(json.Goodo.R[1].AreaName)
                         $(".modal").eq(0).find(".search_list").find("li").click(function(){
                     console.log($(this))
                     console.log($(this).val())
                     console.log(_this)
                     _this.onOk(JSON.parse($(this).attr("value")));
                     $(".modal").eq(0).find(".search_list").css("display","none");
                     m_this.hide();
                   })

               },
               jsonpCallback: 'A'
             });


             }
             else{
               $(".modal").eq(0).find(".search_list").empty(); //ul清空li
               $(".modal").eq(0).find(".search_list").css("display","none")

             }
            })


              //函数出现选择列表
            var choose_id = function(ar_id){
                $(".modal").eq(0).find(".choose_list").css("display","block")
                $(".modal").eq(0).find(".choose_list").empty(); //ul清空li
               $.ajax(API.RbaseUrl+'/EduPlate/MobileManageCenter/InterfaceJson.asmx/Unit_GetList',{       //
                 dataType:"json",
                 data: {
                   Area_ID:ar_id,
                   Keyword:''
                 },
                 success:function(json){
                   console.log('选择结构列表')
                   console.log(json)
                   if(!json.Goodo){
                     alert("该地区无使用单位");
                     $(".modal").eq(0).find(".choose_list").css("display","none");
                   }else{
					$(".modal").eq(0).find(".choose_list").append("<li class='retu'><img src='img/public/huan.png' /></li>");
                    console.log(json.Goodo.R.length)
                    console.log(json.Goodo.R[0].UnitName)
                    console.log($(".modal").eq(0).find(".choose_list").find("li").eq(0).text());
                   const data = json.Goodo.R;
                    for(var i=0;i<data.length;i++){
                      const {UnitName, Unit_ID, UnitUrl,UnitUrl2} = data[i];
                             $(".modal").eq(0).find(".choose_list").append("<li>" + UnitName +"</li>"); //获取到ul并在其后面添加li

                     $(".modal").eq(0).find(".choose_list").find("li").eq(i+1).text(UnitName);
                     $(".modal").eq(0).find(".choose_list").find("li").eq(i+1).attr("value",JSON.stringify({Unit_ID, UnitUrl, UnitName,UnitUrl2}));

                    }

					 $(".modal").eq(0).find(".choose_list").find(".retu").click(function(){
					 	$(".modal").eq(0).find(".choose_list").css("display","none");
					 })
                   $(".modal").eq(0).find(".choose_list").find("li").click(function(){
                     console.log($(this))
                     console.log($(this).val())
                     console.log(_this)
                     _this.onOk(JSON.parse($(this).attr("value")));
                     $(".modal").eq(0).find(".choose_list").css("display","none");
  //						    			$(".modal").eq(0).find(".choose_list").empty(); //ul清空li
                     m_this.hide();
                   })
                 }

               },
               fail:function(json){
                 console.log("获取失败");
               }
             });
           }

           var modal=document.getElementsByClassName("modal")[0];
            //选择学校
  //  				$(".modal").find(".lick_choose").find("label").click(function(){
  //  					_this.$input_data=$(this).val();
  //          //	$("#choose").val($input_id);
  //          //	console.log(_this); _this代表的是父级事件
  //  				});


              //点击热门区域

         




            },
            onOk: function($c) {
              this.hide();

              if (_this.onOk) {

                _this.onOk(JSON.parse($(".modal input[name=opt]:checked").siblings("label").val()));

                _this.onOk = null;
              }
            },
            onCancel: function($c) {
              if (_this.onOk) {
                _this.onOk = null;
              }
            }
        });
    }
}

export default new SelectUnit();
